<?php
/**
 * Created by PhpStorm.
 * User: Duanwangye
 * Date: 18/11/24
 * Company:财联集惠
 */

namespace Tencent;

use app\util\Tools;

class SMS
{
    /************************************/
    /*********** 短信发送接口 ***********/
    /************************************/

    public static function send_sma($mobile,$param = [],$id){
        $appkey = config('sms.APPKEY');  ////sdkappid 对应的 appkey，需要业务方高度保密
        $random = str_shuffle(time());                                         //random 请填成随机数
        $time = time();                                             //UNIX 时间戳
        $data = 'appkey=' . $appkey . '&random=' . $random . '&time=' . $time . '&mobile=' . $mobile;
        $sign = hash('sha256',$data,false);

        $url = 'https://yun.tim.qq.com/v5/tlssmssvr/sendsms?sdkappid=' . config('sms.APPID') . '&random='.$random;

        $data = [
            'params' => $param, // 模板参数，若模板没有参数，请提供为空数组
            'sig' => $sign,  //App 凭证   sha256（appkey=$appkey&random=$random&time=$time&mobile=$mobile）
            'sign' => '添豆',  //短信签名，如果使用默认签名，该字段可缺省
            'tel' => [
                'mobile' => $mobile,   // 手机号
            ],
            'time' => $time,  // 	请求发起时间，UNIX 时间戳（单位：秒）
            'tpl_id' => $id,  // 模板 ID
        ];

        $res = json_decode(Tools::curlPost($url,json_encode($data)),true);

        return $res;
    }

    /************************************/
    /*********** 短信群发接口 ***********/
    /************************************/

    public static function send_sma_array($mobile,$param = [],$id){
        $appkey = config('sms.APPKEY');  ////sdkappid 对应的 appkey，需要业务方高度保密
        $random = str_shuffle(time());                                         //random 请填成随机数
        $time = time();                                             //UNIX 时间戳
        $mobilestr = implode(',',$mobile);
        $data = 'appkey=' . $appkey . '&random=' . $random . '&time=' . $time . '&mobile=' . $mobilestr;
        $sign = hash('sha256',$data,false);

        $url = 'https://yun.tim.qq.com/v5/tlssmssvr/sendmultisms2?sdkappid=' . config('sms.APPID') . '&random='.$random;

        $mobileList = [];
        foreach ($mobile as $k => $v){
            $mobileList[$k]['mobile'] = $v;
            $mobileList[$k]['nationcode']= '86';
        }
        $data = [
            'params' => $param, // 模板参数，若模板没有参数，请提供为空数组
            'sig' => $sign,  //App 凭证   sha256（appkey=$appkey&random=$random&time=$time&mobile=$mobile）
            'sign' => '添豆',  //短信签名，如果使用默认签名，该字段可缺省
            'tel' => $mobileList,
            'time' => $time,  // 	请求发起时间，UNIX 时间戳（单位：秒）
            'tpl_id' => $id,  // 模板 ID
        ];
        $res = json_decode(Tools::curlPost($url,json_encode($data)),true);
        return $res;
    }
}